Drive Claude Code from your phone.在手机上操控你的 Claude Code。
Resume sessions, stream the output, and approve tool permissions remotely — end-to-end encrypted.恢复会话、看流式输出、远程批准工具授权——端到端加密。
MIT·open source·zero-knowledge relay·no account
You stepped away. Claude is blocked on a permission prompt.你离开了工位,Claude 正卡在一个授权弹窗上。
Approve it from your pocket in two taps.在口袋里两下点掉它。
Drive Claude Code from your phone.在手机上操控你的 Claude Code。
Resume sessions, stream the output, and approve tool permissions remotely.恢复会话、看流式输出、远程批准工具授权。
Drive Claude Code from your phone.在手机上操控你的 Claude Code。
Resume sessions, stream the output, and approve tool permissions remotely — end-to-end encrypted.恢复会话、看流式输出、远程批准工具授权——端到端加密。
MIT·open source·zero-knowledge relay·no account
Screen M1 notes — spacing deltas from desktop
- Nav collapses to 56px (desktop 60–72px). Language seg hidden; hamburger appears. Open menu is a blur panel docked under the bar with a terracotta View on GitHub → row last.
- Hero padding 42px 20px (desktop 150px 0 90px). H1 hits the clamp floor ~40px here (shown at 38px). Buttons full-width stacked, 10px gap; trustline wraps to two lines.
- Composition — permission card docked full-width below the phone (overlapping −26px), not floated at reduced width. The Allow button stays the single terracotta focal.
- The moment stacks: lead line above, mini card below, both centered. Section padding 46px 22px (desktop 64px, side-by-side grid).
Approve from anywhere随处批准
Tool-permission requests reach your phone the moment Claude raises one. Allow or deny in seconds — or it times out to a safe deny.Claude 一发起工具授权,就推到手机上。几秒内允许或拒绝——否则超时安全拒绝。
auto-deny on timeoutTake over, don't fork接管,而不是分叉
Continue a terminal session from your phone and it resumes in place — no duplicate branch. It forks only while the terminal is still writing.在手机上续接终端会话,它会原地恢复——不产生重复分支。只有终端仍在写入时才分叉。
resumes in placeScreen M2 notes — mfeat rhythm
- Exact 1.4 A/B rhythm — number → title → copy → detail chip → phone, all centered, phone below the text. Frame gap 16px; phone at default --pw:300px to match A/B.
- Single terracotta focal per phone — vignette 01: the Allow button; vignette 02: the Continue on this phone button. The resumes in place confirm uses success green, not terracotta.
- Four vignettes locked — 01 Approve · 02 Take over · 03 See what changed (1.4 Screen A) · 04 It finds you (1.4 Screen B).
Desktop edition桌面版
One app. Every computer.一个应用,掌控每台电脑。
A native app for macOS, Linux and Windows — drive one computer from another, same end-to-end encryption as your phone.面向 macOS、Linux 与 Windows 的原生应用——用一台电脑操控另一台,端到端加密与手机同款。
fun reconnect(): Job = scope.launch { delay(250) open("relay") } // survives cancel
Prefer the desktop app? Download for macOS .dmg · Windows .msi · Linux .AppImage想用桌面版?下载 macOS .dmg · Windows .msi · Linux .AppImage
Screen M3 notes — spacing & crop
- Sidebar hidden — window body drops to a single 1fr column, chat pane only. Traffic-light bar + meta line stay. Device chrome stays dark.
- Chat crop ≈ 300px — header + one assistant line + one tool row + a short (≤4-line) code block + composer. Code drops to 11px at this width; body gap 12px, padding 14px.
- Fleet card full-width below the window (margin-top:16px, no float / no overlap). Mini 3-up collapses to 1-col (gap:16px).
- Desktop downloads become one wrapping text-link line (replacing the two ghost buttons), naturally breaking to two lines at 390.
- Section padding 44px 22px (desktop 56px 32px slab).
How it works工作原理
A zero-knowledge bridge, phone to computer.从手机到电脑的零知识桥接。
The relay only forwards opaque encrypted frames. Plaintext never leaves your phone and your computer.中继只转发不透明的加密帧。明文永远不离开你的手机和你的电脑。
Security安全
The relay can't read a thing.中继什么也读不到。
Zero-knowledge relay零知识中继
Forwards ciphertext only; holds no message content and no private keys.只转发密文;不保存任何消息内容,也不持有私钥。
End-to-end encrypted端到端加密
P-256 ECDH + HKDF + AES-256-GCM, a Noise-style handshake; plaintext stays on your two trusted endpoints.P-256 ECDH + HKDF + AES-256-GCM,Noise 式握手;明文只留在你的两个可信端点。
No accounts, no login无账号、免登录
Pair by scanning a QR or typing a 6-digit code; the daemon's key travels out-of-band so even a malicious relay can't MITM.扫码或输入 6 位配对码即可;密钥经带外传递,恶意中继也无法中间人攻击。
Open & self-hostable开源可自托管
Clean-room Kotlin, MIT, zero content logging; run your own relay.纯净室 Kotlin,MIT 许可,零内容日志;可自建中继。
Trust without trusting us.信任,但不必信任我们。Read the full threat model →阅读完整威胁模型 →
Screen M4 notes — spacing deltas
- Architecture goes vertical — full-width nodes stacked; each connector becomes a centered row: label above a 32px vertical gradient line, sub below. Arrows read ↓.
- Security 4-up → 1-col, card gap 14px (desktop grid gap 16px). Cards keep 20px padding, 26px terracotta icon, radius 16.
- Pullquote centered, margin-top:36px / padding-top:32px (desktop 56/48). Blockquote drops to 26px; threat-model link below.
- Section padding 44px 22px (desktop 104px 0).
Get the app获取应用
Install it right here.就在这里安装。
Public beta via TestFlight — a seat opens the moment one frees up.通过 TestFlight 公测——有名额空出即可加入。
Signed release APK from the releases page. Play Store listing in review.来自 releases 页的已签名 APK。Play 商店上架审核中。
Get the app获取应用
Scan to your phone.扫码装进手机。
Public beta via TestFlight.通过 TestFlight 公测。
Signed release APK on GitHub.GitHub 上的已签名 APK。
Connect连接
Three commands to connected.三条命令,连上。
Install the daemon安装守护进程
curl -fsSL https://get.cc-pocket.dev/install.sh | sh -s -- --relay wss://relay.cc-pocket.dev --channel stablePair your phone配对你的手机
cc-pocket pairPrints a QR + a 6-digit code.打印二维码和 6 位配对码。
Open the app, scan the QR打开 App,扫码
…or type the 6-digit code. You're connected end-to-end.……或输入 6 位码。你已端到端连接。
Requires an installed, logged-in claude CLI.需要已安装并登录的 claude CLI。
Screen M5 notes — states & spacing
- Store cards adapt to visitor — phone visitor gets one full-width primary button per card + TestFlight footnote; desktop visitor (narrow window) swaps the button for a white 148px QR tile + Scan to download hint. Card gap 14px.
- Connect flow — numbered circles reused; OS tabs wrap; Install/Update segmented toggle above the command. The long curl one-liner scrolls horizontally inside its pill with a right-edge fade; copy button pinned right (never scrolls). Steps 2 & 3 compact (tighter h4 margins).
- Footer — brand + tagline first (full width), then the three link columns as a 2-col grid (Legal wraps to row 2). Bottom row (© line + language seg) stacks left-aligned. Padding 38px 22px 28px.
Features特性
Everything it does, in your pocket.它做的一切,都在口袋里。
The full feature set — grouped by what you actually reach for.完整特性——按你真正会用到的方式分组。
Share a folder共享一个文件夹
Lend an agent, not your laptop.借出一个 agent,而不是你的电脑。
Scope a guest to one directory with a live agent — and be honest about the limits.把访客限定在一个目录里,配一个在线 agent——并如实说明边界。
Invite to one folder邀请到一个文件夹
Scope a guest to a single directory. Everything outside it stays invisible.把访客限定在单个目录,之外的一切都不可见。
Three access levels三档访问权限
Read, propose, or run — pick how much rope the guest gets, per invite.只读、可提议、可执行——每次邀请单独决定放多少权限。
Expiry & revoke到期与吊销
Every share has a clock and a kill switch. Revoke and the link is dead instantly.每个共享都有时钟和急停开关。一吊销,链接立刻失效。
Honest boundaries诚实的边界
We tell guests exactly what they can and can't reach — in plain words.我们用大白话告诉访客能碰什么、不能碰什么。
THEY GET
- The one folder you shared — read, and edit if allowed.
- A live agent that runs commands inside it.
- Their own session history, separate from yours.
THEY DON'T GET
- Any path outside the shared folder.
- Your other projects, keys, or credentials.
- A way to invite anyone else in.
Screen M6 notes — features rhythm
- Page hero — H1 clamps to 33px, sub + two stacked full-width buttons. Padding 40px 22px.
- Group — eyebrow + H2 + sub, then cards stacked 1-col at 14px gaps (the shipped group rhythm at 390).
- Usage strip stacked — 24 hourly bars full-width, stats line, then the 6×5 heatmap left-aligned below (cells go fluid 1fr to fill width).
- Boundary card stacked — THEY GET → hairline divider → THEY DON'T GET → honest strip (the two columns become rows).
- Workflow phone at --pw:280 centered with its caption. Molecule blocks separated by hairlines at 34px 22px padding. Closes on a centered footer CTA.